Method and system of identifying a user of a handheld device

ABSTRACT

A system and method for identifying a user of a handheld device is herein disclosed. The device implementing the method and system may attempt to identify a user based on signals that are incidental to a user&#39;s handling of the device. The signals are generated by a variety of sensors dispersed along the periphery or within the housing. The sensors range may include touch sensors, inertial sensors, acoustic sensors, pulse oximiters, and a touchpad. Based on the sensors and corresponding signals, identification information is generated. The identification information is used to identify the user of the handheld device. The handheld device may implement various statistical learning and data mining techniques to increase the robustness of the system. The device may also authenticate the user based on the user drawing a circle, or other shape.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Application No.61/046,578, filed on Apr. 21, 2008, the entire disclosure of which isincorporated herein by reference.

BACKGROUND OF THE INVENTION

The present invention relates generally to method an system foridentifying a user of a handheld device, e.g. remote control systems.Many systems would benefit from easy, non-intrusive useridentifications. For reference only, many aspects of the invention andthe background relating to the inventions are described in relation to aremote control system, suitable for control of consumer electronicproducts and home appliances, that includes a touch sensitive handheldremote control unit that detects holding and grabbing patterns of theuser as well as other characteristics such as the trajectory at whichthe user raises the remote and first touches the remote to identify theuser.

Handheld remote control units, typically featuring a large plurality ofpush buttons, are now quite commonplace on coffee tables throughout theworld. With most consumer electronic products, it is customary for themanufacturer to furnish such a handheld remote control with each unit.Thus, most consumers own a collection of various different remotecontrol units, each associated with a particular product or appliance.

In an effort to simplify matters, the Applicants' assignee has developedseveral different embodiments of a touch-sensitive remote control unitthat features a reduced number of push buttons and one or moretouch-sensitive touchpads that may be manipulated by the user's fingersor thumb to interact with information on a display screen. The touchpads may be manipulated, for example, to move a selection indicator(such as a cursor or other graphical element) across a control regionupon a display screen. In some applications, the display screen will beseparate from the handheld remote control unit, and thus the usermanipulates the selection indicator by watching the display screen whilemanipulating the keypad with a finger or thumb. Preferably, the touchpador touchpads are disposed on the remote control unit so that they can bemanipulated by the user's thumb while the user is holding the unit inone hand. Furthermore, the remote control has touch sensitive sensors onits outer casing sensitive to a user's touch.

As multiple users may use a single remote control and corresponding hostdevice, there is a growing demand for a means of identifying which useris using the remote control. Methods such as logging in with a user nameand password are time consuming and annoying to users. Thus, there is aneed for a means to identify a user that requires minimal userinteraction. Optimally, it would be beneficial to allow a user to beidentified without the user having to enter or perform anyidentification tasks. Such a passive means of identification wouldresult in virtually no user interaction on the part of the user.

We have therefore developed a remote control system that implementsvarious passive and semi-passive user identification methods. Themethods range from the grab/hold patterns by which the user holds aremote, to the trajectory that the remote follows when grabbed by theuser.

SUMMARY

This section provides a general summary of the disclosure, and is not acomprehensive disclosure of its full scope or all of its features.

In one sense, the present invention relates to a system and method foridentifying a user of a handheld device. The handheld electronic devicecomprises a housing and a sensor system disposed along a periphery ofthe housing. The sensor system is responsive to a plurality ofsimultaneous points of contact between a user's hand and the device togenerate observation signals indicative of the plurality of contactpoints between the user's hand and the device. The handheld electronicdevice further includes a user identification database storing datacorresponding attributes of a plurality of known users, wherein theattributes of the plurality of known users are used to identify a user.The device further comprises a user identification module configured toreceive the observation signals from the sensor system and identify theuser from the observation signals and the attributes of the plurality ofusers.

In a second sense, the present relates to a handheld electronic devicecomprising a housing and a touchpad responsive to a finger movement of auser that generates a touchpad signal corresponding to the fingermovement. The device further includes a touchpad processing module thatreceives the touchpad signal and generates finger movement data based onsaid touchpad signal. The handheld electronic device further includes auser identification database that stores user identification datacorresponding to physical attributes of a plurality of known users,wherein physical attributes includes finger movement of a user drawing apredetermined object. The device is further comprised of a useridentification module that receives finger movement data of the user andidentifies the user based on the finger movement data and the useridentification data, wherein the finger movement data is the userdrawing the predefined shape.

In a third sense, a handheld electronic device is comprised of a housingand a touch sensor system disposed along a periphery of the housing. Thetouch sensor system is responsive to a plurality of simultaneous pointsof contact between a user's hand and the device to generate observationsignals indicative of the plurality of contact points between the user'shand and the device. The device also includes a touch sensor processingmodule configured to receive the observation signals from the touchsensor system and determine a user's holding pattern. The device isfurther comprised of an inertial sensor embedded in the housing which isresponsive to movement of the device by the user's hand to generateinertial signals and a trajectory module configured to receive theinertial signals from the inertial sensor and determine a trajectory forthe movement of the device. The device also includes a touchpad locatedalong an external surface of the housing that is responsive to theuser's finger movement along the external surface of the touchpad togenerate touchpad signals and a touchpad processing module that receivesthe touchpad signals and determines user finger movement data. Thedevice further includes a user identification database storing datacorresponding to attributes of a plurality of known users, wherein theattributes of the plurality of the known users are used to identify auser, and wherein the attributes include holding patterns of theplurality of known users, trajectories corresponding to movement of thedevice by each of the plurality of known users, and user finger movementdata of the plurality of known users. The device is further comprised ofa user identification module configured to receive identificationinformation of the user and identify the user based on theidentification information and the attributes of the plurality of knownusers, wherein the identification information includes the user'sholding pattern, the user's trajectory for movement of the device, andthe user's finger movement data.

Further areas of applicability will become apparent from the descriptionprovided herein. The description and specific examples in this summaryare intended for purposes of illustration only and are not intended tolimit the scope of the present disclosure.

DRAWINGS

The drawings described herein are for illustrative purposes only ofselected embodiments and not all possible implementations, and are notintended to limit the scope of the present disclosure.

FIG. 1 illustrates an exemplary remote control system for an electronicproduct having a display screen and having a handheld remote controlunit that includes at least one touchpad disposed for actuation by auser's thumb;

FIGS. 2A and 2B are exemplary views of a touchpad surface, useful inunderstanding how a user's hand size can affect usability of thetouchpad surface;

FIG. 3 is a schematic representation of a remote control unit havingplural touchpads and an array of capacitive sensors about the peripheryof the remote control unit;

FIG. 4 is a system level architecture of a user identification system;

FIG. 5 is a diagram of the architecture of the user identificationmodule;

FIG. 6 is an exemplary view of the points of contact between the arrayof touch sensitive sensors on the device and a user's hand;

FIG. 7 is a flow diagram of an exemplary method for identifying a userbased on the way the user grabs the handheld device;

FIG. 8 is an exemplary view of two different trajectories correspondingto two different users;

FIG. 9 is a flow diagram of an exemplary method for identifying a userbased on the trajectory corresponding to the movement of the remotecontrol;

FIG. 10 is an exemplary view of a user touching the touchpad of theremote control and the corresponding thumb vector;

FIG. 11 is a flow diagram of an exemplary method for identifying a userbased on the user's first touch of the touchpad;

FIG. 12 is an exemplary view of a user drawing a circle on the touchpadof the remote control;

FIG. 13 is a flow diagram of an exemplary method for identifying a userbased on the user drawing a shape on the touchpad;

FIG. 14 is an diagram illustrating the combination of various useridentification methods to arrive to a user identification;

FIG. 15 is a flow diagram depicting various statistical learning anddata mining techniques used in performing user identification;

FIG. 16 is a flow diagram depicting an exemplary method of performingunsupervised learning of users; and

FIG. 17 is an exemplary view of two clusters corresponding to twodifferent users, and a user to be identified in relation to the twoclusters.

Corresponding reference numerals indicate corresponding parts throughoutthe several views of the drawings.

DETAILED DESCRIPTION

Example embodiments will now be described more fully with reference tothe accompanying drawings.

A system and method for user identification is herein disclosed. Thesystem combines one or more user identification techniques toauthenticate and/or identify a user. The techniques may be passivetechniques such as identifying a user by the way which the user grabsthe handheld device, the trajectory that the device follows when theuser picks up the remote, the user's first touch of the device, and theuser's heartbeat. The techniques may also be semi-passive, such ashaving the user draw a shape, e.g. a circle, on a touch-sensitivesurface of the handheld device. For simplicity, the techniques are firstexplained as applied to a remote control 12 that may be used with atelevision, a set-top box, a computer, an entertainment center or otherhost device. It will be apparent that the techniques are also applied toall handheld devices where user identification would benefit the user.Such applications are described in greater detail below.

Referring to FIG. 1, a remote control system for an exemplary electronicproduct is illustrated generally at 10. The remote control systemincludes a handheld remote control 12 that sends control instructions,preferably wirelessly, to an electronic product 14 having a displayscreen 16. The remote control 12 includes a complement of push buttons18 and a pair of touchpads 20. Note that in the illustrated embodiment,the remote control 12 unit is bilaterally symmetrical so that it willfunction in the same way regardless of which touchpad is proximate theuser's thumb. The handheld remote control 12 has an orientation sensor(not shown) to detect in what orientation the unit is being held.

Any type of communication interface between the handheld remote control12 unit and the electronic product can be utilized. For purposes ofillustration, a wireless transmitting device, shown diagrammatically at24 and a wireless receiving device, shown diagrammatically at 22, areillustrated. It will be appreciated that wireless communication can beaccomplished using infrared, ultrasonic and radio frequencies, andfurther utilizing a variety of different communication protocols,including infrared communication protocols, Bluetooth, WiFi, and thelike. Communication can be unilateral (from remote control unit 12 toelectronic product 14) or bilateral.

In the illustrated embodiment, a control region is defined on thescreen, within which a user-controlled selection indicator may bevisually displayed. In FIG. 1, a visual facsimile of the remote control12 unit itself, is displayed on a display screen 16 as at 26. Auser-controlled selection indicator, in the form of a graphicaldepiction of the user's thumb 30 is displayed. Movement of the user'sthumb upon touchpad 20 causes corresponding movement of the selectionindicator 30. Although similar to movement of a computer screen cursorby track pad, there is this difference. Regions on the touchpad 20 aremapped one-to-one onto the control region of the screen. The typicalcomputer track pad does not employ such one-to-one relationship, butrather it uses a relative mapping to mimic performance of a computermouse which can be lifted and then repositioned.

The system herein disclosed may be used, for example, to identify amapping for the remote based on the user identification. Although theillustrated embodiment uses a one-to-one mapping between the touchpadsurface and the control region, this mapping is altered to accommodatethe hand size characteristics of the user. Referring to FIGS. 2A and 2B,an exemplary pattern of numbers and letters have been illustrated on thetouchpad, in the mapped positions where they would be most easilyaccessible to a person with a small hand (FIG. 2A) and a large hand(FIG. 2B). Compare these mapped locations with the correspondinglocations on the control region 26 (FIG. 1). Although the imagedisplayed on the screen (FIG. 1) would remain the same for all users,regardless of hand size, the portion of the touchpad that actually mapsto the control region is adjusted. Thus, the user with a small hand doesnot have to reach as far to select numeral 1. Conversely, the user witha large hand will find it easier to select numeral 5 withoutsimultaneously selecting an adjacent numeral, such as numeral 4. Ineffect, only a portion of the touchpad is used when the hand is small(FIG. 2A) and this portion is then scaled up to match the entire controlregion shown on the display screen.

The user identification may be used to configure other aspects of thehost device controlled by the remote control. For example, if the hostdevice is a set-top box for a television, the user identification may beused to restrict access to certain channels for certain users.Additionally, a list of pre-programmed favorite channels or settings maybe loaded onto the set-top box. More examples are provided below.

Referring to FIG. 3, the remote control 12 is diagrammatically depictedwith two touchpads 20. A capacitive touch array is depicted at 40. It isenvisioned that other touch sensitive sensors may be used in combinationwith or instead of the capacitive sensors in a capacitive touch array.

For example, a sensor that provides a resistance relative to the contactpoints between the user and the device may be used. Such sensors arecurrently being developed and provide a higher dimensional data set,which is advantageous when identifying a user out of many users. Theseelectrode matrix sensors have one sensor that transmits a signal, e.g.an electric current, and a plurality of receptors that receive thesignal via the user's hand (or other body part). The transmitter and theplurality of receptors are placed along the exterior surface of theremote control 12. The plurality of receptors are oriented spatiallyaround the transmitter. The distance between each receptor and thetransmitter is known, as is the current and voltage of the transmittedelectrical signal. When the electrical signal is transmitted andsubsequently received by the receptors, the resistance of the user'shand at the contact points may be determined. As can be appreciated eachtransmission increases the dimensionality of the data by a factor of X,where X is the ratio of receptors to a transmitter, as each receptorwill generate a resistance value. These sensors are particularly helpfulif datasets of higher dimensionality are preferred. Furthermore,transfer functions may be performed on the transmitted signals resultingin the communications between the transmitters and the correspondingreceptors to further increase the dimensionality.

The remote may also include acoustic (not shown) and optical sensors(not shown), inertial sensors (not shown), a pulse oximiter (not shown)and thermal sensors (not shown).

It is appreciated that the sensors may receive signals from a userholding the remote control 12 with one hand or with two hands. Forexample, the user may hold the remote control 12 in an operativeposition with one hand. The user may also hold the remote control 12with both hands, much like a video game controller, for purposes ofidentification.

FIG. 4 illustrates possible identification inputs and possible data usedto identify a user. As mentioned, the remote control 12 or handhelddevice may identify a user based on a number of inputs. The remotecontrol 12 uses data from sensors 52-60 that may be used for otherfunctional applications to identify the users. The data is received andprocessed by the user identification module 50. The user identificationmodule will access a user identification database 64 containing dataspecific to each known user. The types of data may include one or moreof the following: hold/grab patterns 64 received from touch sensitivesensors 52; trajectory data 66 received from inertial/motion sensorssuch as accelerometers and gyroscopes; heartbeat data 68 received froman acoustic sensor 58 or other types of sensors; face or torso data 70received from an optical sensor 56; first touch data 72 received from atouch pad sensor 20 and arcuate data 74 received from the touchpadsensor 20. It is understood that the lists of sensors and data types arenot limiting, it is envisioned that other types of data may be receivedfrom the specified sensors and that other types of sensors may receivethe listed data or inputs. Furthermore, it is envisioned that as littleas one input type may be used to identify a user or any combination ofinputs may be used to identify the user.

FIG. 5 is a detailed depiction of an exemplary user identificationmodule 50. User identification module 50 may have a processing modulefor each type of input. For example, user identification module 50 mayinclude a touch processing module 80 for processing data from the touchsensors 52; a motion processing module 82 for processing data from themotion and inertial sensors 54; an optical processing module 84 forprocessing data from the optical sensors 56; an acoustic processingmodule 86 for processing data from the acoustic sensors 58 and atouchpad processing module 88 for processing data from the touchpad 60.Greater detail of each type of data and its respective processing moduleare described below.

It is appreciated that user identification module 50 may reside on theremote control 12 or the host device. Due to the fact that the systemimplements powerful learning techniques, remote control 12 may not havethe processing power to handle such calculations. If this is the case,then remote control 12 may communicate the input data to the recognitionmodule 50 residing on the host device.

The various processing modules receive raw data from the respectivesensor and process the data to a form that may be used by recognitionmodule 90, which may use one or more of a k-means clustering method, asupport vector machines (SVM) method, a hidden Markov model method, anda linear regression method to identify a user based on the processeddata. As can be appreciated, the various sensors will produce highdimensional data sets, which is beneficial for identification. Useridentification module 50 may also perform feature extraction on theinput data set, so that the high dimensional data set can be more easilyprocessed. Dimensionality reduction methods such as principle componentanalysis (PCA) and isomap may be implemented by recognition module. Therecognition module 90 uses the processed data and the datasets containedin user identification database 62 to classify the user to be identifiedvia various statistical learning and/or clustering methods. Therecognition module 90 will then determine the user whose feature data,e.g. hold/grab, trajectory, or first touch, most resembles the inputdata received from the various sensors. A confidence score may also beassociated with the user identification. Furthermore, recognition module90 may generate a list of the n-nearest matches in the useridentification database 62. Additionally, as is described later,recognition module 90 may generate a user identification.

Recognition module 90 may take as parameters, a data set and data type.Based on the data type, recognition module 90 may select which learningor clustering technique to use and which data types to access in useridentification database 62.

FIG. 6 illustrates an example of a user grabbing a remote. When graspedin the user's hand, some of the individual elements of the touch array102 and 104 are activated (those in close proximity to the touchingportions of the user's hand). This holding pattern gives some measure ofthe user's identity. Of course, no user will hold the remote control 12unit in exactly the same way each time he or she picks it up. Thus, eachuser's touch array observation data can be expected to vary from use touse and even from moment to moment. Thus, a presently preferredembodiment uses a model-based pattern classification system to convertthe holding pattern observation data into user identification, hand sizeand holding position information. As can be seen the user's palm andfingers result in pressure against the capacitance sensors 102 and 104.The capacitance sensors collectively transmit signals to the touchsensor processing module 80, (FIG. 5), in the form of raw data. Theseobservation signals represent which sensors are currently contact pointsbetween the user's hand and the remote control 12. The touch sensorprocessing module 80 may transform the raw data into a format usable bythe recognition module 90. For example, the data may be structured in avector or matrix whose elements represent the various sensors. Thetransformed data may be used to find a match in the user identificationdatabase 64.

Alternatively, touch sensor processing module 80 may extrapolateadditional data from the raw data. For example, it is discernable whichhand (left or right) is grabbing the remote. It is also discernablewhich sensors were activated by the palm and which sensors are activatedby the fingers, due to the fact that the palm is continuous and thefingers have gaps between them. Based on which hand is grabbing theremote and the position of the fingers and the palm, the touch sensorprocessing module 80 may extrapolate an estimated hand size. Additionalfeature data may be extrapolated from the initial grab, such as aholding pattern. For example, some users will use three fingers to grabthe remote on the side, while other user will use a four finger hold.Also, information relating to the pressure applied to each sensor mayalso be included. The collection of extrapolated feature data may beused to find a match in the user identification database 64.

Referring now to FIG. 7, an exemplary technique for identifying a userbased on the grab/hold position is now described in greater detail. Atstep S110, the raw data corresponding to the activated touch sensors isreceived by touch sensor processing module 80. Touch sensor processingmodule 80 will determine whether the remote was grabbed by a left handor right hand at step S112. At step S114, touch processing module 70will extract features relevant to the grab/hold position, by separatingthe data into palm and finger data. At step S116, touch processingmodule 70 will determine the palm occlusion patterns. Information suchas pressure and points of higher pressure may be extrapolated based onthe signals received from the touch sensors. Furthermore, the amount ofactivated sensors may be used to extract the width of the palm occlusionpatterns. At step S118, touch processing module 70 may estimate a handposition for portions of the palm that are not in contact with thesensors, based on the palm positions that are known to touch processingmodule 70. Learned models or known physiological models may be used toestimate the hand position. Based on steps S116 and S118, a user handsize may be calculated at S120.

At step S122, the finger occlusion patterns are calculated. Similar tothe palm occlusion patterns, pressure and pressure points may bedetermined from the received touch sensor data. From this data, touchprocessing module 80 can determine the amount of fingers used to grabthe remote and the spacing between fingers. The finger occlusionpatterns may be combined with the results of step S118 and S116, whichprovide an estimate of the palm portion of the hand, to determine a holdpattern. This data, along with the hand size data, may be communicatedto recognition module 90 and used to match a user in the useridentification database at step S126. It is envisioned that manydifferent methods of matching a user may be used. For example, a k-meansclustering may be performed on the processed data and the useridentification data. Other data mining techniques and statisticallearning techniques may also be used to determine a user identification.Furthermore, a confidence score may be attached to the identification,or an n-nearest match list of possible users. In the event a confidencescore is used, the system may require a confidence score to exceed apredetermined threshold to identify a user. In the event an n-nearestmatch list is produced, other identification techniques may be used topare down the list.

In an alternative embodiment, the method of identifying a user may notinitiate until the remote has reached a resting point. Thus, the userwill grab the remote control 12, pick up the remote control 12, and thenreach the hold position of the remote control 12. Once the inertialsensors indicate that the remote control 12 has reached a steadyposition, e.g. acceleration or velocity are below a predeterminedthreshold, then the user identification process may commence. In thisembodiment, variations in the initial grab of the remote are entirelyignored, as the grab pattern may be equally dependent on the location ofthe remote control and the user, e.g. user will grab a remotedifferently if behind the user or lodged between two couch cushions.

Hold/grab pattern matching may be used as a sole means of useridentification, a primary means of user identification or a partialmeans of user identification. Preliminary research reveals that in asmall user group (5 users or the size of a family), hold/grab patternsresult in about an 87.5% accuracy in user identification. Thus,depending on the scale and the application of the underlying system,87.5% may be a sufficient identification accuracy. However, for moresensitive login environments more accuracy may be needed and thus,hand/grab pattern matching may be used as one of a number of matchingtechniques.

FIG. 8 depicts an example of a user trajectory that may be used toidentify a user. For exemplary purposes, two trajectories 136A and 136Bcorresponding to two users 134A and 134B are depicted. At position 130,the remote control 12 is depicted in a resting state on a coffee table138. At position 132A, the remote control 12 has been grabbed by user134A and moved to position 132A by following trajectory 136A. Atposition 132B, the remote control 12 has been grabbed by user 134B andmoved to position 132B by following trajectory 1368. Thus, the two usersmay be differentiated based on the trajectories of remote control 12. Asis apparent from the disclosure, the remote control 12 will know when itis held by a user and when it is at rest based on the activation of thetouch sensors. As described earlier, the remote control 12 may have oneor more accelerometers and/or one or more gyroscopes. It should beappreciated any type of inertial sensors, such as the various types ofgyroscopes and various types of accelerometers may be used.

FIG. 9 illustrates an exemplary method of identifying a user usingtrajectory data. At step S140, the motion processing module 82 receivesthe sensor inputs from the gyroscope and the accelerometer. At step 148,the motion processing module 82 must determine a starting location.Motion processing module 82 may execute steps 146 and/or 142 and 144 todetermine a starting location. The resting state and the hold positionare the respective start point and end points to the trajectory. Inorder for a reliable trajectory match, it may be beneficial to determinethe actual starting location. For example, the same user may follow adifferent trajectory if he is picking the remote up off the floorinstead of picking the remote up off the coffee table. Thus, the remotecontrol 12 may implement one or more techniques for estimating astarting location. First, the remote control 12 may keep track of wherethe remote was placed into the resting position. Thus, when the touchsensors are disengaged by a user, the inertial data from the sensors maybe used to determine a resting location. To enable this type ofdetermination, the accelerometer and gyroscope should be continuouslyoutputting accelerations and velocities to the motion sensor processingmodule 72. The motion processing module 72 will use the most recentknown location, e.g. the previous resting position, and dead reckoningto determine a location. To enable dead reckoning, the motion processingunit 82 may also receive timing data for purposes of calculating aposition based on acceleration and velocity vectors. Once the touchsensors are disengaged by a user, motion processing module 82 may storethe new resting position as the last location. When a last knownlocation is recorded, then motion processing module 82 may retrieve thelast known location at step S146 upon a user grabbing the remote control12.

As mentioned, the trajectory processing module 82 may increaseprediction accuracy if a starting location is known. It is appreciatedthat one underlying reason is that the starting location and thetrajectory are dependent on one another. The dependency, however, is notnecessarily the exact geographic location, but rather the relativelocation of the remote. For example, a user picking up the remote fromthe far right end will likely take a similar trajectory when picking theremote up off of the center of the coffee table. The trajectory willdiffer, however, when the user picks up the remote control 12 off of thecouch. Thus, step S148, described above, does not require a pinpointlocation. Rather a general location, or a cluster of locations may beused as the starting location. Trajectory processing module may use ak-means clustering algorithm of known locations and an estimatedstarting location to determine the general starting location.

It should be noted that in certain embodiments the remote control 12 mayask a user to verify a location periodically. Furthermore, in someembodiments, there may be a location registration phase, where the userpreprograms the n-most likely locations of a remote. In this embodiment,the user could enter a coffee table, a couch, a side table, the floor,the entertainment center, etc. In such a registration process, the userwould have to define the locations with respect to each other.

In other embodiments, the motion processing module 82 will determine alocation based on the motion itself. In these embodiments, the motionprocessing module 82 receives the sensor data and determines a referencetrajectory using dead reckoning techniques at step S142. It should benoted that the trajectory is a reference trajectory because it assumes astarting point of (0, 0, 0) and further is used as a reference todetermine a starting location. At step S144, the motion processingmodule 82 may use a k-means cluster algorithm, using the receivedtrajectory as input, to determine the most likely starting location.

Once a starting location is determined, the motion processing module mayuse the resting location (starting point), the hold position (the endpoint), and the sensor data, to determine a trajectory. The moduleprocessing module 82 will then attempt to find a match in the useridentification database 62 for the trajectory, based on the startingpoint and the trajectory itself. The reason that both parameters may beof importance is that the categorization of a trajectory is dependent onthe starting point. For example, two identical trajectories may bereported to motion sensor processing module 72, despite one trajectorybeginning on the coffee table and one trajectory beginning on the centerof the floor. Without a starting location, it may be very difficult todifferentiate the two trajectories. However, with an estimated or knownstarting location, the motion processing module 72 may differentiatebetween the trajectories because one started from the floor, while theother started from the coffee table. Thus, it may be determined, forexample, that a shorter user (e.g. a child) picked up the remote fromthe floor in a standing position, and that a taller (e.g. an adult) userpicked up the remote from the coffee table. It is envisioned thatlearning methods such as support vector machines or k-means clusteringmay be used to determine a user identification based on the calculatedtrajectory and starting point. It should be noted that the startingpoint, e.g. couch or coffee table, may be used to pare down the set oftrajectories that the input trajectory is compared with. For example, ifthe motion processing module 82 determines that the user picked theremote control 12 up from the coffee table, i.e. the input trajectoryoriginated from the coffee table, only the set of trajectoriesoriginating from the coffee table are used to generate a useridentification.

In an alternative embodiment, the starting point of the trajectory isignored. Rather, a vector representing the relative motion of the remotecontrol is used to identify the user. Thus, the trajectory is assumed toalways begin at a (0,0,0) position.

It should be noted that trajectory matching may be used as a sole meansof user identification, a primary means of user identification or apartial means of user identification. Depending on the scale of thesystem and the application of the underlying system, trajectory matchingmay provide sufficient identification accuracy. However, for moresensitive login environments more accuracy may be needed and thus,trajectory matching may be used as one of a number of identificationtechniques.

In embodiments of the remote control 12 that include a touchpad,additional identification methods may be enabled. FIG. 10 illustrates auser's first touch of the touchpad 20 of the remote control 12. Asdiscussed above, a user when using the remote control 12 will do threethings: 1) grab the remote; 2) pick up the remote; and 3) touch thetouchpad 20. By extracting data of these events, a user may beidentified from the extracted data without having to actively enter useridentification information. Thus far, identifying a user from grab/holdpatterns and trajectories associated with picking up the remote control12 have been described. A third way of identifying a user is based on afirst touch of a user. Based on the hold pattern associated with a user,a user will have a fairly unique first touch position due to the factthat users generally have different bone and joint structures in thehand. Thus, a user may be further identified based on the hold positionand the first touch of the touch pad.

FIG. 11 is a flow diagram depicting an exemplary method of identifying auser based on a first touch of the remote control 12. At step S150, auser's hold position is detected and determined. The process isdescribed in greater detail above. At step S152, the user's first touchis determined. The user's first touch may be an (x,y) coordinate on thetouchpad 20. Based on the hold position/pattern and the first touchpoint, touchpad processing module 88 may extrapolate additionalinformation relating to the user's thumb. For example, touchpadprocessing module 88 determines the angle at which the thumbholds/curves around the remote control 12. Also, a thumb length may bedetermined. Based on the first touch data associated with the thumb, avector corresponding to the user thumb 160 (FIG. 10) may be calculatedat step S154. The thumb vector 160 may be a four dimensional vectorhaving an x value, a y value, an x offset and a y offset, wherein one ofthe corners of the touchpad is used as the origin. This vector may becommunicated to and used by recognition module 90 to find a match inuser identification database 62 at step S156.

It should be noted that first touch data may be used as a sole means ofuser identification, a primary means of user identification or a partialmeans of user identification. Depending on the scale of the system andthe application of the underlying system, first touch data may providesufficient identification accuracy. However, for more sensitive loginenvironments more accuracy may be needed and thus, first touch data maybe used as one of a number of identification techniques.

FIG. 12 illustrates a user drawing a circle on the touchpad 20 of theremote control 12. Thus far, wholly passive approaches of identifying auser have been described. The following describes a semi-passiveapproach for identifying a user, wherein the user traces a shape,preferably a circle, on the touchpad 20. As can be seen from the figure,the user traces a circle 162 on the touchpad 20. It is envisioned,however, that any shape may be used. The purpose of having the usertrace a shape on the touchpad is to extract kinematics data from theuser's motion. For example, when the user traces a counterclockwisecircle, there are four strokes that will typically occur. The first isfrom 12 to 9, the second from 9 to 6, the third from 6 to 3, and thelast from 3 to 12. A user may slide the thumb one position to the nextor may slightly bend the thumb, which will result in different arcuatetrajectories. The user may make small strokes or large strokes. The usermay draw the circle clock-wise or counter-clockwise. Furthermore, timingdata may also be extrapolated and used to identify the user. It shouldbe apparent that the permutations of different stroke attributes aregreat. The amount of permutations corresponding to a user drawn circleprovides for a high accuracy rate for identifying a user.

FIG. 13 describes an exemplary method of identifying a user by havingthe user draw a shape on the touchpad 20. At step S170, touchpadprocessing module 88 receives the arcuate trajectory data correspondingto the drawn circle. The arcuate trajectory data may come in the form oftriples (x, y, t), wherein every x,y coordinate is given a time stamp.At step S174, the set of triples may undergo linear stretching. Forexample, the arcuate trajectory data may be stretched to 130% the medianlength. At step S174, the stretched arcuate trajectory data may undergoa principle component analysis (PCA) to reduce the dimensionality of thedata set. In a preferred embodiment, the principle components accountingfor 98% of the variance are chosen. It is understood, however, thatother variance thresholds may be chosen. At step S176, the reduced datasets may then be clustered using k means clustering, where k is selectedas the number of users. At step S178 a matching user may be identifiedby the cluster that the transformed arcuate trajectory data falls into.

In some embodiments, the timing data is initially removed and only thecoordinate data, i.e. the (x,y) components of the data are used in stepsS172-S178. In these embodiments, the results of the k-means clusteringmay be rescored using the timing data at step S180. Once rescored, auser may be identified at step S182.

It should be noted that shape drawing may be used as a sole means ofuser identification, a primary means of user identification or a partialmeans of user identification. In fact, shape drawing typically providesvery high identification accuracy rates. Shape drawing, however, is nota passive approach and may, therefore, be implemented as a back upmethod when the system is unsure of the user's identity after using thepassive identification techniques. Depending on the scale of the systemand the application of the underlying system, shape drawing may be anadvantageous means of protecting more sensitive login environments.

It is envisioned that additional sensors may also be used to identify auser. For example, an acoustic sensor 58 may be used to detect a user'sheartbeat. The acoustic sensors 58 may be strategically placedalong-side the outer covering of the remote control, whereby the entireremote control 12 acts as an acoustic antenna. When a user holds thedevice tightly, the acoustic sensors detect the heartbeat and transmitthe data to an acoustic processing module 86. Acoustic processing module86 may process the received data so that a frequency and amplitude ofthe heartbeat may be determined. The recognition module 90 may then useone or more of the statistical learning or data mining techniquesdescribed above to determine if there exists a matching user in the useridentification database 62 based on the user's heartbeatcharacteristics. It is envisioned that other types of sensors may beused to monitor a user's heartbeat or related statistics. For example, apulse oximeter may be used to measure a patient's pulse or blood-oxygenlevels. Additionally, an ultra-sensitive accelerometer may be used todetect vibrations resulting from the user's pulse. Finally, an impulseresponse system may further be used. An impulse response system isessentially comprised of a speaker and a microphone. The microphoneemits a high-frequency sound wave that reverberates through the user'shand. The sound wave may be deflected back to the microphone, where thesensor is able to discern the augmentation of the sound wave. Theimpulse-response sensors may also be used to measure a user's pulse.

Another additional sensor is an optical sensor 56. The optical sensor 56may be located on the remote control or on the host device. The opticalsensor 56 may be used to receive image data of the user. The imageprocessing module 86 may perform face-recognition or torso recognitionon the user for purposes of identifying the user. Yet another sensor isa thermal sensor placed on the outside covering of the remote control12. The thermal sensors may be used to determine a user's bodytemperature. Typically, an identification based solely on bodytemperature may not be reliable. Body temperature data, however, may beuseful in increasing the dimensionality of the data sets so that greaterseparation results in the collection of user attribute data sets.

Individual methods for user identification have been disclosed. All themethods are either passive or semi-passive, as they do not require theuser to remember or enter a username, passcode, or other uniqueidentifier. Rather, the techniques rely on a user's natural kinematictendencies when performing subconscious tasks. In an alternativeembodiment, a combination of two or more of the above-describedtechniques may be used to increase the accuracy of a useridentification. As mentioned earlier, each of the individual techniquesmay have a confidence score associated with an identification.Additionally, an n-nearest match list may also be generated for eachidentification technique. Based on either the confidence scores or then-nearest neighbors of multiple user identification efforts, a moreaccurate user identification may be realized. Taking a sample size offive users, the grab/hold identification method resulted in an 87.5%accuracy rate, the accelerometer-only based trajectory identificationresulted in a 77.5% accuracy rate and the gyroscope-only basedtrajectory identification resulted in a 65% accuracy rate. Taking thethree passive identification methods in combination, however, results ina 90% accuracy rate. It should be noted that the circle-drawing basedidentification resulted in a 97.5% authentication accuracy.

As can be seen in FIG. 14, there are n various user identifications 190a-190 n, each having a confidence score 192 a-192 n. Combinedidentification module 194 may combine the individual useridentifications to come to a more robust user identification. Eachmethod may further produce an n-nearest list of matches, each entry inthe list having its own confidence score. For each user, a weightedaverage of each of the confidence scores may be calculated by combinedidentification module 194. The combined identification module 194 maydetermine a user identification 196 based on the user having the highestweighted average. It is envisioned that other methods of determining auser based on a combination of various identification methods may alsobe used.

General reference has been made to the processing of data. FIG. 15depicts an exemplary method for processing the sensor data. As mentionedearlier, various sensors will provide input data 200 a-200 n. The dataprovided may be received from a variety of sensors, e.g. touch sensors,inertial sensors, touchpad, acoustic, etc., or it may be received fromone sensor type that produces lots of data, e.g. many touch sensors orlots of inertial data. In either case, the data set will be large. Thusthe input data 200 a-200 n may first undergo feature extraction 202.Various techniques for dimensionality reduction may be used. Forexample, the data set may undergo a principle component analysis or alinear discriminate analysis. A feature vector 204 representing the dataset but in a lower dimensionality is generated and communicated to asegmentation module 208.

A segmentation module 208 separates portions of the feature vector 204into segments representing different states. For example, in the exampleof the remote control being raised in FIG. 8, the remote control wasfirst on a table top, at rest. Next, the remote control was grabbed, butremained on/or near the table. The remote control then quicklyaccelerates through the pick up phase. The remote control then reaches ahold position. At the hold position, the remote control will likely havevelocity and acceleration but not at the magnitude observed during theinitial pickup. Finally, the remote control will be placed back onto astable surface such as the couch or the table top. Additionally, theuser may drop the remote control or may move the remote control totransmit a command to the host device. It should be apparent that notall of these segments are relevant for purposes of user identification.The inertial sensors (and all other sensors), however, may becontinuously transmitting data. Thus, it may be beneficial to furtherreduce the data that needs to be analyzed, by segmenting the data. Thesegmentation of data occurs by comparing the data against varioussegment models 210. The segment models 210 may be in the form of hiddenMarkov models representing the various states. By comparing chunks ofdata against the segment models 210, it can be determined with areasonable probability the state of the data. The feature vector canthen be classified according to at least one of the various segments 212a-212 n. Moreover, if only a certain portion of the feature vector isrelevant, the segment selection module may 214 reduce the feature vectorso that only the relevant segment is classified. It is appreciated,however, that the feature vector does not need to be reduced.

As mentioned, the segment selection module 214 will select the state ofthe feature data, and may select the relevant segments 212 a-212 n forclassification. Referring back to the previous example, the segmentselection module may be configured to only select trajectories of theremote when picked up and when at the rest position. The feature vector204 or the selected segments of the feature vector 204 are communicatedto a classifier 216. The classifier 216 may use a clustering analysis todetermine a user identification. In the cluster analysis, the selectedsegments are analyzed with user models 220 a-220 n. The user models 220a-220 n represent the attributes of the various users. The segmentselection module 214 can also communicate the selected segment toclassifier 224 for purposes of classifying the feature vector with themost relevant data. For example, when segment selection module 214determines that the feature vector 204 is primarily trajectory datacorresponding to a remote control pickup, classifier, when accessing theuser models, will only retrieve the segments of user models 220 a-220 n,that correspond to trajectory data. Because the user models have beenpreviously classified, the classifier only needs to determine thecluster, i.e. which user model 220 a-220 n, that the feature vector orselected segment of the feature vector belongs to. As previouslymentioned, classifier 224 may execute a clustering algorithm, such ask-means clustering, to determine the cluster that the feature vectormost belongs to. The determined cluster will correspond with the user'sidentify. Thus, a user identification 222 may be made by the system.

As is apparent from the disclosure, the various methods ofidentification all rely on at least one matching, learning orclassification method, such as support vector machines, k-meansclustering, hidden Markov models, etc. Thus, it has been assumed thatthe various data types in user identification database 62 are actuallypresent in said database. The data sets, such as grab/hold data,trajectory data, first touch data, arcuate trajectory data, andheartbeat data, may be collected using unsupervised or supervisedlearning techniques.

A first method of collecting the various data sets is by implementing atraining session. Each user may register with the system, e.g. the hostdevice. The registering user will be asked to repeatedly perform varioustasks such as grabbing the remote control, picking up the remotecontrol, or drawing a circle on the touch pad of the remote control. Thecollected training data are used to define a user's tendencies forpurposes of identification. When the system is in an operational mode,the input data, used for identification, may be added to the trainingdata upon each successful identification. Furthermore, the user canverify a correct user identification and correct an improperidentification to increase the robustness of the system.

A second method of collecting the various data sets is by implementingan unsupervised learning process that differentiates the users over thecourse of the remote control's usage. Take for example a family thatowns a Digital Video Recorder (DVR). The father has large hands andgrabs the remote control using three fingers. The wife has a small handsand grabs the remote with four fingers. The child has small hands andthe remote with three fingers. Furthermore, the father recordssports-related programming and reality television. The mother recordssitcoms and police dramas. The child records cartoons and animal shows.Over the course of an initial period, the system will differentiate thethree users based on the differences of hand size and hold patterns.Over the initial period, the identification system will also learn thatthe user with large hands and a three finger grab is associated with thesports and reality television programming. The system can then map theuser preferences or profile to the extrapolated hold pattern data. Thus,a user may grab the remote control and have his or her preferencesreadily set based only on past usage and the initial picking up of theremote. Using this method, the user will never actually engage intraining the system, but user identification will be realized over thecourse of time.

FIG. 16 depicts a method used to identify a user and train the useridentification database. It is noted that FIG. 16 contains most of thecomponents found in FIG. 15. The primary difference is that FIG. 16contains a generic model database 224. The background model databasecontains preprogrammed user templates, so that the system has backgroundmodels to analyze alongside the user models. When a user first uses thesystem (i.e. the remote controls first use), there will be no usermodels 220 a-220 n. The learning module may recognize this andautomatically register the new user. The input data, is processed asshown in FIG. 15, so that all relevant segments and correspondingattributes are stored in the new user model. The second time the userpicks up the remote, the system will receive the user input data, reducethe dimensionality, select the relevant segments of data, and run theselected segments against the user models and the background models. Theuser identification module will likely identify the user as the user.The identification will have a corresponding probability, indicating aconfidence in the user identification. If the probability does notexceed a predetermined threshold, then the user identification moduleassumes that the user is a new user, and creates a new user model forthe user, using the input data as the attributes of the new user model.If the corresponding probability, i.e. the confidence score, exceeds thethreshold, then the user identification module identifies the user, andadds the input features into the user's user model. As can beappreciated, as the user picks up the remote and is successfullyidentified, the user model associated with that user will increase inrichness. Thus, the confidence scores associated with the identificationof the exemplary user will also increase.

FIG. 16 is now described in greater detail. Components found in bothFIGS. 15 and 16 have been numbered as such. Similar to FIG. 15, inputdata 200 a-200 n is received and undergoes feature extraction 202. Theresult is a feature vector 204, which is then segmented by thesegmentation module 208, using segment models 210 as models fordetermining the segmentation of the data. The feature vector 204 is thenbroken down into segments. The segment selection module 214 selects therelevant segments and communicates the relevant segments to theclassifier 224. The classifier 224 operates slightly differently thanthe classifier 216 of FIG. 15. The classifier 224 receives thebackground models 226 a-226 n in addition to the user models 220 a-220n. The classifier then determines a user identification using aclustering algorithm. The user identification will have a probabilityassociated with it. If the probability that the user identificationexceeds a threshold, classifier 224 generates user identification 222.If the probability does not exceed the threshold or if the identifieduser is a background variable, then the classifier passes the data to amodel generation module 230, which generates a new model based on therelevant attributes. The new model 232 is communicated to the user modeldatabase 218.

For example only, FIG. 17 depicts two hypothetical sets 230 and 232 ofuser identification data represented by black dots for a first user andcircles for a second user. During the training phase, the data sets arecollected, so that a user may be later identified based on the trainingdata. The six point star 234 represents a user identification attempt.As can be seen, the six point star 234 clearly falls within the firstuser's data set 230. Thus, the system can predict that the user to beidentified is the first user with a high probability based on thecluster in which the identification attempt is closest to. It isappreciated that the more biometric features that are used in anauthentication event, the greater the dimensionality of the data setsused for identification. When data sets of higher dimensionality areused for identification, a greater amount of separation will be realizedbetween the clusters of data.

While reference has been made to a remote control 12, it should beappreciated that the sensors described above, as well as theidentification methods described above will be used in various handhelddevices such as cell phones, portable phones, mp3 players, personal DVDplayers, PDAs, and computer mice. For example, with a cell phone orportable phone, using any of the above techniques, the phone maydetermine that a first user or a plurality of users is using the phone.Based on this, specific settings such as a phonebook, saved textmessages, saved emails, volume settings, screen settings, wall paper andsaved files such as photos will become available to the user. Similarly,in a device such as an MP3 player, the first user's music library may beaccessible to the user after identification. In the PDA, schedules andcontacts personal to the first user are made available to the user, onlyafter the user grabs the PDA and is identified.

With a computer mouse or a laptop mouse pad, the methods disclosed abovemay be used to identify and authenticate the user. The user may then beautomatically logged onto her user profile. Further, the user may leavethe computer and upon another user touching the mouse or mouse pad, thedevice will be able to determine that the user has changed. At thispoint, the second user may be locked out of the first user's profileuntil an explicit override instruction is provided by the first user.

It should be apparent that the disclosed methods and devices will allowthe sharing of devices once thought to be personal devices withouthaving to risk the privacy or intimacy typically associated with thesedevices.

As used herein, the term module may refer to, be part of, or include anApplication Specific Integrated Circuit (ASIC), an electronic circuit, aprocessor (shared, dedicated, or group) and/or memory (shared,dedicated, or group) that execute one or more software or firmwareprograms, a combinational logic circuit, and/or other suitablecomponents that provide the described functionality. It is should beunderstood that when describing a software or firmware program, the termmodule may refer to machine readable instructions residing on anelectronic memory.

The foregoing description of the embodiments has been provided forpurposes of illustration and description. It is not intended to beexhaustive or to limit the invention. Individual elements or features ofa particular embodiment are generally not limited to that particularembodiment, but, where applicable, are interchangeable and can be usedin a selected embodiment, even if not specifically shown or described.The same may also be varied in many ways. Such variations are not to beregarded as a departure from the invention, and all such modificationsare intended to be included within the scope of the invention. Themethod steps, processes, and operations described herein are not to beconstrued as necessarily requiring their performance in the particularorder discussed or illustrated, unless specifically identified as anorder of performance. It is also to be understood that additional oralternative steps may be employed.

1. A handheld electronic device, comprising: a housing; a touch sensorsystem disposed along a periphery of the housing and responsive to aplurality of simultaneous points of contact between a user's hand andthe handheld electronic device to generate observation signalsindicative of the plurality of points of contact between the user's handand the handheld electronic device; a touch sensor processing moduleconfigured to receive the observation signals from the touch sensorsystem and determine a user's holding pattern; an inertial sensorembedded in the housing and responsive to movement of the handheldelectronic device by the user's hand to generate inertial signals; atrajectory module configured to determine a trajectory for the movementof the handheld electronic device, based on the inertial signals fromthe inertial sensor, a starting position, and an end position, thestarting position being a location where the handheld electronic devicein a resting position is grabbed by a user, the end position being alocation of the handheld electronic device being held; a touchpadlocated along an external surface of the housing that is responsive tothe user's finger movement along the external surface of the touchpad togenerate touchpad signals; a touchpad processing module configured toreceive the touchpad signals and determines user finger movement data; auser identification database storing data corresponding to attributes ofa plurality of known users, wherein the attributes of the plurality ofthe known users are used to identify a user, and wherein the attributesinclude holding patterns of the plurality of known users, trajectoriesfor the movement of the handheld electronic device of the plurality ofknown users, and user finger movement data of the plurality of knownusers; and a user identification module configured to receiveidentification information of the user and identify the user based onthe identification information and the attributes of the plurality ofknown users by accessing said used identification database, wherein theidentification information includes the user's holding pattern, theuser's trajectory for movement of the handheld electronic device, andthe user's finger movement data, wherein the user identification moduleis configured to identify the user by detecting a trajectory thatmatches the user's trajectory for movement of the handheld electronicdevice from the trajectories for the movement of the handheld electronicdevice of the plurality of known users.
 2. The handheld electronicdevice of claim 1 wherein the touch sensor system is further defined asan array of capacitive sensors integrated into and spatially separatedfrom each other along an exterior surface of the housing.
 3. Thehandheld electronic device of claim 1 wherein the inertial sensor is anaccelerometer.
 4. The handheld electronic device of claim 1 wherein theinertial sensor is a gyroscope.
 5. The handheld electronic device ofclaim 1 wherein the user identification module is configured toimplement machine learning to identify a user.
 6. The handheldelectronic device of claim 5 wherein the user identification module usesa k-means clustering algorithm to determine a user identification. 7.The handheld electronic device of claim 1 wherein the useridentification module is configured to determine a plurality ofpreliminary user identifications, wherein each of the preliminary useridentifications is based on one of the attributes.
 8. The handheldelectronic device of claim 7 wherein each of the preliminary useridentifications has a corresponding confidence score, wherein theconfidence score indicates a probability that the preliminary useridentification is correct.
 9. The handheld electronic device of claim 1wherein the user identification module is configured to determine aplurality of user identifications, wherein each of the preliminaryidentifications has a list of possible users and wherein each entry inthe list of possible users has a confidence score indicating aprobability that the possible user is actually the user.
 10. Thehandheld electronic device of claim 1 wherein the trajectory module isconfigured to determine a starting location of the handheld electronicdevice, wherein the user identification module further bases useridentification on the starting location of the handheld electronicdevice.
 11. A handheld electronic device, comprising: a housing; asensor system disposed along a periphery of the housing and responsiveto a plurality of simultaneous points of contact between a user's handand the handheld electronic device to generate observation signalsindicative of the plurality of points of contact between the user's handand the handheld electronic device; a user identification databasestoring data corresponding attributes of a plurality of known users,wherein the attributes of the plurality of known users are used toidentify a user; a user identification module configured to receive theobservation signals from the sensor system and identify the user fromthe observation signals and the attributes of the plurality of users byaccessing said user identification database; an inertial sensor embeddedin the housing and responsive to movement of the handheld electronicdevice by the user's hand to generate inertial signals; and a trajectorymodule configured to receive the inertial signals from the inertialsensor and determine a trajectory for the movement of the handheldelectronic device, wherein the user identification module is configuredto receive the trajectory from the trajectory module and identify theuser based in part from the trajectory. 12-22. (canceled)
 23. Thehandheld electronic device of claim 11 wherein the inertial sensor is anaccelerometer.
 24. The handheld electronic device of claim 11 whereinthe inertial sensor is a gyroscope.
 25. The handheld device of claim 11wherein the trajectory module is configured to determine a startinglocation of the handheld electronic device and communicate said startinglocation of the user identification module.
 26. The handheld electronicdevice of claim 25 wherein the user identification module further basesuser identification on the starting location of the handheld electronicdevice. 27-28. (canceled)
 29. The handheld electronic device of claim 25wherein the user identification module is configured to receive fingermovement data corresponding to a first point of contact between one ofthe user's digits and the touchpad and use the said finger movement datacorresponding to the first point of contact to identify the user. 30-46.(canceled)
 47. The handheld electronic device of claim 11 furthercomprising: a motion processing module configured to determine thetrajectory of the handheld electronic device by employing deadreckoning, the motion processing module supplying signals indicative ofthe trajectory as additional observation signals to said useridentification module.
 48. The handheld electronic device of claim 1wherein a cluster of locations is used as the starting position.